Templates are in this directory.

Templates in django are normal files with the exception that django parses
the following:
{%
%}
{{
}}

{% and {{ are tell django to start parsing while %} and }} tell django to stop parsing.
{{ }} are used to print out information from a variable (or a model's function)
where {% %} are used to call predefined template tag functions.

Django allows you to create your own template tags [possibilty for another tutorial ;)].

Some common template tags:

{% if [var] %}
{% else %}
{% endif %}
=== Branching block that works similarly to if statements. Please note that only
=== a *variable* is accepted. It is true if the variable is defined (not None) and
=== not set to False (or 0)

{% for [var] in [array] %}
{% endfor %}
=== For loop where all elements are iterated over in [array] as the variable [var]
=== The [var] variable is accessible only in the for block

{% extends [var or string] %}
=== Points to another template where this can be based off. All blocks defined in this
=== template will override any blocks in the extended template assuming both blocks
=== have the same name. Use quotes around the template name if it is a string. The template
=== search path is based on the root of the template directory.

{% block [blockname] %}
{% endblock [optional-blockname %}
=== Defined a block which can be overriden by child templates. The endblock blockname
=== is optional to define which block ended. Blocks can be nested